package tricks

func sortColors(nums []int) {
	// 先把所有0都交换到前面，然后从最后一个0的下标开始，把所有的1都交换到前面
	count0 := swap(nums, 0)
	swap(nums[count0:], 1)
}

func swap(colors []int, target int) (count int) {
	for i, c := range colors {
		if c == target {
			colors[i], colors[count] = colors[count], colors[i]
			count++
		}
	}
	return 
}